package com.sojson.project.monitor.job.entity.vo;

import java.util.Date;

import com.sojson.annotation.Excel;
import com.sojson.base.impl.Base;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * 定时任务调度表响应Bean
 * 
 * @author liu
 * @date 2022-10-24
 */
@Data
@ApiModel("定时任务调度表响应Bean")
public class JobVo extends Base {

    private static final long serialVersionUID = 1L;
    /** ID */
    @Excel(name = "任务序号", cellType = Excel.ColumnType.STRING)
    @ApiModelProperty("ID")
    private String id;
    /** 任务名称 */
    @Excel(name = "任务名称")
    @ApiModelProperty("任务名称")
    private String name;
    /** 任务组名 */
    @Excel(name = "任务组名")
    @ApiModelProperty("任务组名")
    private String group;
    /** 调用目标字符串(Controller下的任何方法,格式:mapping.methodName('ry', true, 2000L, 316.50D, 100)(Controller类路径).(方法名)(参数列表)) */
    @Excel(name = "调用目标字符串")
    @ApiModelProperty("调用目标字符串(Controller下的任何方法,格式:mapping.methodName('ry', true, 2000L, 316.50D, 100)(Controller类路径).(方法名)(参数列表))")
    private String invokeTarget;
    /** cron执行表达式 */
    @Excel(name = "执行表达式 ")
    @ApiModelProperty("cron执行表达式")
    private String cronExpression;
    /** cron错过策略(0:默认,1:将错过的全部执行一次,2:将上一次错过的立即执行一次,3:错过的放弃执行) */
    @Excel(name = "计划策略 ", readConverterExp = "0=默认,1=将错过的全部执行一次,2=将上一次错过的立即执行一次,3=错过的放弃执行")
    @ApiModelProperty("cron错过策略(0:默认,1:将错过的全部执行一次,2:将上一次错过的立即执行一次,3:错过的放弃执行)")
    private Integer misfirePolicy;
    /** 是否并发执行(1允许 2禁止) */
    @Excel(name = "并发执行", readConverterExp = "1=允许,2=禁止")
    @ApiModelProperty("是否并发执行(1允许 2禁止)")
    private Integer concurrent;
    /** 任务状态(1正常 2暂停) */
    @Excel(name = "任务状态", readConverterExp = "1=正常,2=暂停")
    @ApiModelProperty("任务状态(1正常 2暂停)")
    private Integer status;
    /** 备注 */
    @ApiModelProperty("备注")
    private String remark;
    /** 创建人 */
    @ApiModelProperty("创建人")
    private String createBy;
    /** 创建时间 */
    @ApiModelProperty("创建时间")
    private Date createTime;
    /** 更新人 */
    @ApiModelProperty("更新人")
    private String updateBy;
    /** 更新时间 */
    @ApiModelProperty("更新时间")
    private Date updateTime;

}